package docker_container

// DockerContainerRequest 请求参数设置
type DockerContainerRequest struct {
	UserId         string `json:"userId"`
	MachineId      string `json:"machineId"`
	ImageName      string `json:"imageName"`
	ContainerName  string `json:"containerName"`
	SSHPassword    string `json:"sshPassword"`
	SSHPublicKey   string `json:"sshPublicKey"`
	SSHPort        int    `json:"sshPort"`
	JupyterLabPort int    `json:"jupyterLabPort"`
	GPUCount       int    `json:"gpuCount"`
	DataDiskSize   string `json:"dataDiskSize"`
}

// DockerContainerResponse 请求返回参数设置
type DockerContainerResponse struct {
	UserId        string `json:"userId"`
	MachineId     string `json:"machineId"`
	ImageName     string `json:"imageName"`
	ContainerName string `json:"containerName"`
	GPUCount      int    `json:"gpuCount"`
	ContainerId   string `json:"containerId"`
}

// DockerContainerStartRequest 容器状态调整请求
type DockerContainerStartRequest struct {
	UserId        string `json:"userId"`
	MachineId     string `json:"machineId"`
	ContainerName string `json:"containerName"`
	ContainerId   string `json:"containerId"`
	GPUCount      int    `json:"gpuCount"`
}

// DockerContainerStartResponse 容器状态调整返回
type DockerContainerStartResponse struct {
	UserId          string `json:"userId"`
	MachineId       string `json:"machineId"`
	ContainerName   string `json:"containerName"`
	GPUCount        int    `json:"gpuCount"`
	Success         bool   `json:"success"`
	SSHUrlPath      string `json:"sshUrlPath"`
	SSHPort         string `json:"sshPort"`
	JupyterLabUrl   string `json:"jupyterLabUrl"`
	JupyterLabPort  string `json:"JupyterLabPort"`
	JupyterLabToken string `json:"JupyterLabToken"`
}

// DockerContainerStopRequest 容器状态调整请求
type DockerContainerStopRequest struct {
	UserId        string `json:"userId"`
	MachineId     string `json:"machineId"`
	ContainerName string `json:"containerName"`
	ContainerId   string `json:"containerId"`
}

// DockerContainerStopResponse 容器状态调整请求
type DockerContainerStopResponse struct {
	UserId        string `json:"userId"`
	MachineId     string `json:"machineId"`
	ContainerName string `json:"containerName"`
	ContainerId   string `json:"containerId"`
}
